﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using SmartSiteManagementSystem.Models.WorkTask;

namespace SmartSiteManagementSystem.IServices
{
    public interface IWorkTaskService
    {
        #region  TaskSetInfo任务集
        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetTaskSetInfoListCount(Hashtable param);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        IList<TaskSetInfo> GetTaskSetInfoList(Hashtable param, string orderBy, int first, int rows);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="setId"></param>
        /// <returns></returns>
        TaskSetInfo GetTaskSetInfoById(int setId);



        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
         bool UpdateTaskSetInfo(TaskSetInfo info);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        int InsertTaskSetInfo(TaskSetInfo info);
        #endregion

        #region  供应地
        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetSupplyingPlaceInfoListCount(Hashtable param);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        IList<SupplyingPlaceInfo> GetSupplyingPlaceInfoList(Hashtable param, string orderBy, int first, int rows);


        SupplyingPlaceInfo GetSupplyingPlaceInfoById(int supplyingPlaceId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        bool UpdateSupplyingPlaceInfo(SupplyingPlaceInfo info);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        int InsertSupplyingPlaceInfo(SupplyingPlaceInfo info);
        #endregion

        #region
        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetDemandingPlaceInfoListCount(Hashtable param);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        IList<DemandingPlaceInfo> GetDemandingPlaceInfoList(Hashtable param, string orderBy, int first, int rows);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="demandingPlaceId"></param>
        /// <returns></returns>
        DemandingPlaceInfo GetDemandingPlaceInfoById(int demandingPlaceId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        bool UpdateDemandingPlaceInfo(DemandingPlaceInfo info);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        int InsertDemandingPlaceInfo(DemandingPlaceInfo info);
        #endregion


        #region TaskInfo 任务

        /// <summary>
        /// 
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        TaskInfo GetTaskInfoById(int taskId);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        int GetTaskInfoListCount(Hashtable param);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="param"></param>
        /// <param name="orderBy"></param>
        /// <param name="first"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        IList<TaskInfo> GetTaskInfoList(Hashtable param, string orderBy, int first, int rows);


        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        bool UpdateTaskInfo(TaskInfo info);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        int InsertTaskInfo(TaskInfo info);
        #endregion
    }
}
